/**
 ***********************************************************************************************************
 * 
 ***********************************************************************************************************
 * @file RBDefaultGeometrySorter.h
 ***********************************************************************************************************/

#ifndef __RBDEFAULTGEOMETRYSORTER_H__
#define __RBDEFAULTGEOMETRYSORTER_H__

#ifdef  HEADER_ONCE
#pragma HEADER_ONCE
#endif

#ifdef  HEADER_MSG
#pragma HEADER_MSG(RBDefaultGeometrySorter.h)
#endif

/***********************************************************************************************************
 * Includes
 ***********************************************************************************************************/
#include "RBGeometrySorter.h"

/***********************************************************************************************************
 * Forward declarations
 ***********************************************************************************************************/
class RBCamera;
RBDeclareHandle(RBCamera);

/***********************************************************************************************************
 * Classes
 ***********************************************************************************************************/

class RBDefaultGeometrySorter : public RBGeometrySorter
{
public:
                    RBDefaultGeometrySorter    (RBCamera* camera);
                   ~RBDefaultGeometrySorter    ();

    virtual bool    operator()          (RBGeometryHandle lhs, RBGeometryHandle rhs) const;

protected:

    const RBCamera*       m_camera;
};

/***********************************************************************************************************/

#endif // __RBDEFAULTGEOMETRYSORTER_H__
